package com.gqh.weather.domain.dto;

import lombok.Data;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;

/**
 * 报告分类分数数据DTO
 * 专门用于报告序列化的CategoryScoreData扩展类
 */
@Data
public class ReportCategoryScoreData {
    /**
     * 分数
     */
    @JsonProperty("score")
    private Double score = 0d;
    
    /**
     * 分类ID
     */
    @JsonProperty("category_id")
    private Integer categoryId;
    
    /**
     * 分类名称
     */
    @JsonProperty("category_name")
    private String categoryName;
    
    /**
     * 学生数量
     */
    @JsonProperty("student_num")
    private Integer studentNum = 0;
    
    /**
     * 优秀人数(E>=90)
     */
    @JsonProperty("e")
    private Integer e = 0;
    
    /**
     * 良好人数(80<=G<90)
     */
    @JsonProperty("g")
    private Integer g = 0;
    
    /**
     * 及格人数(60<=P<80)
     */
    @JsonProperty("p")
    private Integer p = 0;;
    
    /**
     * 不及格人数(F<60)
     */
    @JsonProperty("f")
    private Integer f = 0;
    
    /**
     * 平均分(用于计算，不序列化到JSON)
     */
    @JsonIgnore
    private Double iAverageScore = 0.0;
    
    /**
     * 平均分字符串表示
     */
    @JsonProperty("average_score")
    private String averageScore = "0";
}